package com.jeeplus.test.jlnu.changeStuInfo.mapper;

import com.jeeplus.test.jlnu.changeStuInfo.domain.entity.ChangeStuInfo;
import com.jeeplus.test.jlnu.changeStuInfo.domain.entity.ChangeStuInfoHistory;
import com.jeeplus.test.jlnu.changeStuInfo.domain.vo.ChangeStuInfoReq;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ChangeStuInfoMapper {

    int updateChangeStu(@Param("studentIds") List<String> studentIds, @Param("changeStuInfo") ChangeStuInfo changeStuInfo);

    void batchUpdateApproveState(@Param("data") ChangeStuInfo changeStuInfo, @Param("ids") List<Long> ids);

    ChangeStuInfo getByStudentId(String studentIds);

    void insertChangeStu(List<ChangeStuInfo> changeStuInfos);

    int updateRefuse(List<ChangeStuInfo> changeStuInfos);

    List<ChangeStuInfo> selectValueByOfficeId(ChangeStuInfoReq changeStuInfoReq);

    List<ChangeStuInfo> selectBatchIds(@Param("ids") List<Long> ids);

    // 获取所有需要更新的字段信息
    List<ChangeStuInfoHistory> getLatestChanges(@Param("ids") List<Long> ids);

    // 批量更新方法
    void batchUpdateByHistory(ChangeStuInfo changeStuInfo);

    // 修改状态方法
    void batchUpdateState(@Param("list") List<ChangeStuInfo> updateList);


}
